1. Field of The Invention
This invention relates in general to robotic arms, and more particularly to positional calibration of robotic arms.
2. Related Art
With the advent of robotics technology, automated processing has come into widespread use in numerous facets of today's industry. Robotic systems are employed to perform a myriad of functions from assembly line processes to materials processing to real-time operational processes. These robotic systems are often implemented using a computer-controlled robotic arm.
Applications for robotic arms in assembly line processes include welding, painting, and testing. In the materials processing environment, robotic applications can include, for example, locating materials or chemicals. In real-time operational environments, robots are used to perform operational functions such as automated order picking and for computer operations, tape selections and mounting.
To optimize performance of robotic systems in the above-mentioned and other applications, a robotic arm must be quickly and precisely positioned to perform its task. To illustrate this concept, a tape selection and mounting robotic system will be used as an example. In this example, the tape selection robotic system must locate a correct tape to be loaded, and quickly and precisely align its arm to select the proper tape. If the alignment is imprecise, a critical error may result. The robotic arm could miss the tape entirely or even retrieve the wrong tape. In addition, if the arm is extended when aligned imprecisely, damage to the tape, the robotic arm, or a tape storage bin may result.
Generally, a trade-off exists between the speed and precision with which a robotic arm may be aligned. In conventional systems, attaining a higher degree of alignment precision requires more time. Some conventional systems use a reach-out-and-touch technique whereby the arm is extended slowly to sense its position with respect to the tape and alignment is adjusted accordingly.
In addition, if alignment is imprecise, retrieval must be done more slowly to minimize the amount of damage that could be caused by "crashing" the misaligned arm into a bin or a tape cartridge.
A higher degree of precision means that the systems can be designed to tighter specifications. For the tape selection example, this means that bins which house the tape cartridges can be made smaller and positioned more closely to one another. As a result, system size is reduced and tape access time is quicker because the robotic arm has less distance to travel between tapes.
Many conventional systems employ a camera as part of the system for the "fine" positioning of the robotic arm. The camera, in effect, becomes the "eyes" of the robotic system. A controller within the robotic system uses the camera to search for a known pattern, called a target. The controller receives electronic signals from the camera indicating the location of the robotic arm with respect to the target. The controller then aligns the robotic arm using that target as a positioning guide. However, the camera must first be "coarsely" positioned with sufficient accuracy so that the camera can "see" the correct target.
Typically, the motors which drive a robotic device for coarse positioning operate under the general method of digital closed loop servo mechanism control. Under the digital closed loop servo mechanism control method, movement of the robotic arm occurs in the following manner.
Position encoders are attached to the motor (either directly or indirectly) to indicate the relative position of the motor. Different types of position encoders can be used. In a preferred embodiment of the present invention, an electro-optical encoder is used. An electro-optical indicates relative (not absolute) movement of the motor and thereby indicates relative position of the device driven by the motor. Within the electro-optical encoder is a rotating disk that optically interrupts a light beam which is received by a photo-sensitive device that generates an equivalent electrical signal. The cycle of interrupting the light beam is monitored by a controller which receives the electrical signal and converts that signal into an encoder count. Depending on the resolution required for the particular application, the encoder count per revolution could vary from one to many thousands. The controller uses the encoder count to determine the mechanism's position.
When movement of the robotic arm is desired, the position encoder is sampled at a fixed interval. At each sample, the actual position of the mechanism is compared to the desired position at that point in time. The difference between the sampled position and the desired position is called a position error, and an appropriate amount of current is applied to the motor in attempts to reduce or minimize the position error. The step is repeated at each sample interval. When the position error is zero or acceptably close to zero, the mechanism has arrived at the desired position.
Because the position encoders indicate only relative and not absolute position, the absolute position of the motor within its range of operation must first be "learned" in order for the robotic device to correlate its relative position to its absolute or its desired position. This learning is typically done with the use of separate external sensors attached at the endpoints of the travel for the mechanism. The sensors indicate when the mechanism has reached an endpoint in a direction of travel.
Once the absolute position of a robotic mechanism has been learned, it is essential to the reliability and accuracy of the device that any failure in position be detected and be recovered from. Position encoders are typically attached directly to the motor. However, the mechanism itself is related to the motor through a belt or a coupler or some other sort of mechanical linkage. The linkage between the motor and the robotic mechanism itself can contribute to position errors. Belts can stretch and couplers can slip. Also, errors in the electronic system that monitor the motor position via the motor encoder could also arise.
Therefore, there is a need to detect when the positional integrity of a robotic device has been lost. There is a further need that the detection mechanism be external or secondary to the primary position system. There is also a need that this be done in a manner that is concurrent with normal operation of the robotic system.